home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 72 / IOPROG_72.ISO / soft / c++ / NCTDiscWriter2.exe / {app} / MS VB 6.0 Samples / TestVBDataCDWriter / frmWrite.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  2003-04-15  |  16.8 KB  |  506 lines

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  3. Begin VB.Form frmWrite 
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "Write"
  6.    ClientHeight    =   4680
  7.    ClientLeft      =   45
  8.    ClientTop       =   330
  9.    ClientWidth     =   8250
  10.    ControlBox      =   0   'False
  11.    LinkTopic       =   "Form1"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   4680
  15.    ScaleWidth      =   8250
  16.    StartUpPosition =   2  'CenterScreen
  17.    Visible         =   0   'False
  18.    Begin VB.Frame Frame3 
  19.       Caption         =   "Format"
  20.       Height          =   675
  21.       Left            =   2610
  22.       TabIndex        =   28
  23.       Top             =   1890
  24.       Width           =   3915
  25.       Begin VB.OptionButton optDataMode1 
  26.          Caption         =   "Data Mode 1"
  27.          Height          =   195
  28.          Left            =   150
  29.          TabIndex        =   30
  30.          Top             =   300
  31.          Value           =   -1  'True
  32.          Width           =   1425
  33.       End
  34.       Begin VB.OptionButton optDataMode2 
  35.          Caption         =   "Data Mode 2/XA"
  36.          Height          =   225
  37.          Left            =   2070
  38.          TabIndex        =   29
  39.          Top             =   300
  40.          Width           =   1515
  41.       End
  42.    End
  43.    Begin VB.Frame Frame2 
  44.       Caption         =   "Disc Compilation"
  45.       Height          =   1815
  46.       Left            =   2610
  47.       TabIndex        =   23
  48.       Top             =   60
  49.       Width           =   3915
  50.       Begin VB.OptionButton optJoliet 
  51.          Caption         =   "Joliet              (Multilanguage Support)"
  52.          Height          =   285
  53.          Left            =   120
  54.          TabIndex        =   31
  55.          Top             =   360
  56.          Value           =   -1  'True
  57.          Width           =   3675
  58.       End
  59.       Begin VB.OptionButton optISOLevel1 
  60.          Caption         =   "ISO Level 1   (Maximum 11 =   8 + 3 chars)"
  61.          Height          =   315
  62.          Left            =   120
  63.          TabIndex        =   26
  64.          Top             =   630
  65.          Width           =   3585
  66.       End
  67.       Begin VB.OptionButton optISOLevel2 
  68.          Caption         =   "ISO Level 2   (Maximum 31 chars)"
  69.          Height          =   345
  70.          Left            =   120
  71.          TabIndex        =   25
  72.          Top             =   930
  73.          Width           =   2925
  74.       End
  75.       Begin VB.TextBox txtDiscLabel 
  76.          Alignment       =   1  'Right Justify
  77.          Height          =   285
  78.          Left            =   1080
  79.          TabIndex        =   24
  80.          Text            =   "New Disc"
  81.          Top             =   1380
  82.          Width           =   2535
  83.       End
  84.       Begin VB.Label Label2 
  85.          Caption         =   "Disc Label:"
  86.          Height          =   225
  87.          Left            =   150
  88.          TabIndex        =   27
  89.          Top             =   1470
  90.          Width           =   855
  91.       End
  92.    End
  93.    Begin VB.Frame Frame1 
  94.       Caption         =   "Burn Options"
  95.       Height          =   2505
  96.       Left            =   60
  97.       TabIndex        =   15
  98.       Top             =   60
  99.       Width           =   2475
  100.       Begin VB.ComboBox speedCombo 
  101.          Height          =   315
  102.          Left            =   810
  103.          Style           =   2  'Dropdown List
  104.          TabIndex        =   19
  105.          ToolTipText     =   "Burn Speed"
  106.          Top             =   390
  107.          Width           =   1275
  108.       End
  109.       Begin VB.CheckBox FinilizeCDCheck 
  110.          Caption         =   "Finalise Disc, disc will be write protected"
  111.          Height          =   675
  112.          Left            =   120
  113.          TabIndex        =   18
  114.          Top             =   1260
  115.          Width           =   2235
  116.       End
  117.       Begin VB.CheckBox TestWriteCheck 
  118.          Caption         =   "Test Write"
  119.          Height          =   255
  120.          Left            =   150
  121.          TabIndex        =   17
  122.          Top             =   1020
  123.          Width           =   1035
  124.       End
  125.       Begin VB.CheckBox OptimalSpeedCheck 
  126.          Caption         =   "Optimal Speed"
  127.          Height          =   255
  128.          Left            =   2010
  129.          TabIndex        =   16
  130.          Top             =   2100
  131.          Value           =   1  'Checked
  132.          Width           =   195
  133.       End
  134.       Begin MSComctlLib.ProgressBar ProgressBar3 
  135.          Height          =   135
  136.          Left            =   30
  137.          TabIndex        =   20
  138.          Top             =   2370
  139.          Visible         =   0   'False
  140.          Width           =   2415
  141.          _ExtentX        =   4260
  142.          _ExtentY        =   238
  143.          _Version        =   393216
  144.          Appearance      =   1
  145.          Min             =   1
  146.          Max             =   64
  147.       End
  148.       Begin VB.Label Label1 
  149.          Caption         =   "Speed:"
  150.          Height          =   225
  151.          Left            =   150
  152.          TabIndex        =   22
  153.          Top             =   480
  154.          Width           =   525
  155.       End
  156.       Begin VB.Label Label5 
  157.          Caption         =   "Detect Speed Optimals:"
  158.          Height          =   225
  159.          Left            =   120
  160.          TabIndex        =   21
  161.          Top             =   2130
  162.          Width           =   1755
  163.       End
  164.    End
  165.    Begin VB.CommandButton CancelBtn 
  166.       Caption         =   "Cancel"
  167.       Height          =   405
  168.       Left            =   6630
  169.       TabIndex        =   14
  170.       Top             =   600
  171.       Width           =   1575
  172.    End
  173.    Begin VB.CommandButton WriteBtn 
  174.       Caption         =   "Write"
  175.       Height          =   375
  176.       Left            =   6630
  177.       TabIndex        =   13
  178.       Top             =   150
  179.       Width           =   1575
  180.    End
  181.    Begin VB.Frame frmProgress 
  182.       Caption         =   "Progress"
  183.       Height          =   1965
  184.       Left            =   60
  185.       TabIndex        =   0
  186.       Top             =   2670
  187.       Width           =   8145
  188.       Begin MSComctlLib.ProgressBar ProgressBar1 
  189.          Height          =   315
  190.          Left            =   1590
  191.          TabIndex        =   1
  192.          Top             =   1500
  193.          Width           =   6435
  194.          _ExtentX        =   11351
  195.          _ExtentY        =   556
  196.          _Version        =   393216
  197.          Appearance      =   1
  198.       End
  199.       Begin MSComctlLib.ProgressBar ProgressBar2 
  200.          Height          =   315
  201.          Left            =   1590
  202.          TabIndex        =   2
  203.          Top             =   1110
  204.          Width           =   6435
  205.          _ExtentX        =   11351
  206.          _ExtentY        =   556
  207.          _Version        =   393216
  208.          Appearance      =   1
  209.       End
  210.       Begin VB.Label Label4 
  211.          Caption         =   "Disk Total:"
  212.          Height          =   225
  213.          Left            =   120
  214.          TabIndex        =   12
  215.          Top             =   1590
  216.          Width           =   1065
  217.       End
  218.       Begin VB.Label ProgressLbl 
  219.          Caption         =   "Write:"
  220.          Height          =   225
  221.          Left            =   120
  222.          TabIndex        =   11
  223.          Top             =   1200
  224.          Width           =   1005
  225.       End
  226.       Begin VB.Label driveStatusLbl 
  227.          Alignment       =   1  'Right Justify
  228.          BorderStyle     =   1  'Fixed Single
  229.          Caption         =   "Idle"
  230.          Height          =   315
  231.          Left            =   1590
  232.          TabIndex        =   10
  233.          Top             =   240
  234.          Width           =   1875
  235.       End
  236.       Begin VB.Label Label33 
  237.          Caption         =   "Drive Status:"
  238.          Height          =   225
  239.          Left            =   120
  240.          TabIndex        =   9
  241.          Top             =   330
  242.          Width           =   1035
  243.       End
  244.       Begin VB.Label driveBufferLbl 
  245.          Alignment       =   1  'Right Justify
  246.          BorderStyle     =   1  'Fixed Single
  247.          Caption         =   "0"
  248.          Height          =   315
  249.          Left            =   1590
  250.          TabIndex        =   8
  251.          Top             =   600
  252.          Width           =   1875
  253.       End
  254.       Begin VB.Label Label31 
  255.          Caption         =   "Buffer (%):"
  256.          Height          =   225
  257.          Left            =   120
  258.          TabIndex        =   7
  259.          Top             =   690
  260.          Width           =   945
  261.       End
  262.       Begin VB.Label Label27 
  263.          Caption         =   "Estimated Blocks:"
  264.          Height          =   225
  265.          Left            =   4770
  266.          TabIndex        =   6
  267.          Top             =   330
  268.          Width           =   1305
  269.       End
  270.       Begin VB.Label driveEstBlocksLbl 
  271.          Alignment       =   1  'Right Justify
  272.          BorderStyle     =   1  'Fixed Single
  273.          Caption         =   "0"
  274.          Height          =   315
  275.          Left            =   6150
  276.          TabIndex        =   5
  277.          Top             =   240
  278.          Width           =   1875
  279.       End
  280.       Begin VB.Label Label29 
  281.          Caption         =   "Current Block:"
  282.          Height          =   225
  283.          Left            =   4770
  284.          TabIndex        =   4
  285.          Top             =   690
  286.          Width           =   1305
  287.       End
  288.       Begin VB.Label driveWritedBlocksLbl 
  289.          Alignment       =   1  'Right Justify
  290.          BorderStyle     =   1  'Fixed Single
  291.          Caption         =   "0"
  292.          Height          =   315
  293.          Left            =   6150
  294.          TabIndex        =   3
  295.          Top             =   600
  296.          Width           =   1875
  297.       End
  298.    End
  299. Attribute VB_Name = "frmWrite"
  300. Attribute VB_GlobalNameSpace = False
  301. Attribute VB_Creatable = False
  302. Attribute VB_PredeclaredId = True
  303. Attribute VB_Exposed = False
  304. Dim WriteInProgress As Boolean
  305. Dim writeSpeed As Integer
  306. Dim speed As Integer
  307. Private Sub CancelBtn_Click()
  308.     If WriteInProgress = True Then
  309.         frmTestVBDataCDWriter.DataCDWriter1.StopWrite
  310.         driveStatusLbl.Caption = "Idle"
  311.         StopWrite
  312.     Else
  313.         Me.Hide
  314.     End If
  315. End Sub
  316. Private Sub optISOLevel1_Click()
  317.     frmTestVBDataCDWriter.DataCDWriter1.volumeFileSystem = ISO_LEVEL_1
  318. End Sub
  319. Private Sub optISOLevel2_Click()
  320.     frmTestVBDataCDWriter.DataCDWriter1.volumeFileSystem = ISO_LEVEL_2
  321. End Sub
  322. Private Sub optJoliet_Click()
  323.     frmTestVBDataCDWriter.DataCDWriter1.volumeFileSystem = JOLIET
  324. End Sub
  325. Private Sub WriteBtn_Click()
  326.     Dim test As Boolean
  327.     Dim finalize As Boolean
  328.     Dim idx As Integer
  329.     Inactive
  330.     idx = 0
  331.     speed = speedCombo.List(idx)
  332.     frmTestVBDataCDWriter.DataCDWriter1.writeSpeed = speed
  333.     frmTestVBDataCDWriter.DataCDWriter1.volumeLabel = txtDiscLabel.Text
  334.     driveStatusLbl.Caption = "Prepare..."
  335.     Me.Refresh
  336.         
  337.     WriteBtn.Enabled = False
  338.     Me.Refresh
  339.            
  340.     If TestWriteCheck.Value = 0 Then
  341.             frmTestVBDataCDWriter.DataCDWriter1.writeSimulate = False
  342.     Else
  343.             frmTestVBDataCDWriter.DataCDWriter1.writeSimulate = True
  344.     End If
  345.     If FinilizeCDCheck.Value = 0 Then
  346.             frmTestVBDataCDWriter.DataCDWriter1.writeFinalizeCD = False
  347.     Else
  348.             frmTestVBDataCDWriter.DataCDWriter1.writeFinalizeCD = True
  349.     End If
  350.         
  351.     frmTestVBDataCDWriter.error = False
  352.     Me.Refresh
  353.     idx = speedCombo.ListIndex
  354.     speed = speedCombo.List(idx)
  355.     frmTestVBDataCDWriter.DataCDWriter1.writeSpeed = speed
  356.       
  357.     frmTestVBDataCDWriter.OperationProgress = False
  358.     frmTestVBDataCDWriter.DataCDWriter1.StartWrite
  359.     If frmTestVBDataCDWriter.error = True Then
  360.             driveStatusLbl.Caption = "Idle"
  361.             StopWrite
  362.             frmTestVBDataCDWriter.error = False
  363.     Else
  364.             WriteInProgress = True
  365.     End If
  366. End Sub
  367. Public Sub OperationProgress(Percent As Integer)
  368.         If frmTestVBDataCDWriter.error = True Or WriteInProgress = False Then
  369.            driveStatusLbl.Caption = "Idle"
  370.            StopWrite
  371.            Exit Sub
  372.         End If
  373.         
  374.         Select Case frmTestVBDataCDWriter.DataCDWriter1.driveOperation
  375.         Case WRITE_DISC:
  376.              Select Case frmTestVBDataCDWriter.DataCDWriter1.writePhase
  377.              Case FILL_BUFFER:
  378.                   driveStatusLbl.Caption = "Fill Buffer..."
  379.              Case WRITE_TRACK:
  380.                   driveStatusLbl.Caption = "Write Track..."
  381.              Case CLOSE_TRACK:
  382.                   driveStatusLbl.Caption = "Close Track..."
  383.              End Select
  384.              ProgressBar1.Value = Percent * 2 / 3
  385.              ProgressBar2.Value = Percent
  386.              driveEstBlocksLbl.Caption = frmTestVBDataCDWriter.DataCDWriter1.writeTotalBlocks
  387.              driveWritedBlocksLbl.Caption = frmTestVBDataCDWriter.DataCDWriter1.writeCurrentBlock
  388.              driveBufferLbl.Caption = frmTestVBDataCDWriter.DataCDWriter1.driveBufferUsagePercent
  389.         Case FINALIZE_DISC:
  390.              driveStatusLbl.Caption = "Finalise Session..."
  391.              ProgressLbl.Caption = "Finalise:"
  392.              CancelBtn.Enabled = False
  393.              ProgressBar1.Value = 100 * 2 / 3 + Percent / 3 - 5
  394.              ProgressBar2.Value = Percent
  395.              driveWritedBlocksLbl.Caption = frmTestVBDataCDWriter.DataCDWriter1.writeCurrentBlock
  396.              If Percent = 100 Then
  397.                 ProgressBar2.Value = 100
  398.                 ProgressBar1.Value = 100
  399.                 driveStatusLbl.Caption = "Idle"
  400.                 MsgBox "Write Complete!"
  401.                 StopWrite
  402.                 Exit Sub
  403.              End If
  404.         End Select
  405.         
  406.         DoEvents
  407. End Sub
  408. Private Sub Form_Load()
  409.     writeSpeed = frmTestVBDataCDWriter.DataCDWriter1.driveMaxWSpeed
  410.     WriteInProgress = False
  411. End Sub
  412. Private Sub StopWrite()
  413.    ProgressLbl.Caption = "Write Tracks:"
  414.    driveEstBlocksLbl.Caption = 0
  415.    driveWritedBlocksLbl.Caption = 0
  416.    driveBufferLbl.Caption = 0
  417.    ProgressBar1.Value = 0
  418.    ProgressBar2.Value = 0
  419.    frmTestVBDataCDWriter.RefreshDiskInfo
  420.    WriteInProgress = False
  421.    WriteBtn.Enabled = True
  422.    CancelBtn.Enabled = True
  423.    frmTestVBDataCDWriter.error = False
  424.    Active
  425. '   Me.Hide
  426. End Sub
  427. Private Sub OptimalSpeedCheck_Click()
  428.     LoadSpeedCombo2
  429. End Sub
  430. Public Sub LoadSpeedCombo1()
  431.     frmSpeedProgress.Show 0, Me
  432.     speedCombo.Clear
  433.     If OptimalSpeedCheck.Value <> 0 Then
  434.         For speed = 64 To 1 Step -1
  435.             frmTestVBDataCDWriter.DataCDWriter1.writeSpeed = speed
  436.             frmSpeedProgress.ProgressBar1.Value = 65 - speed
  437.             If frmTestVBDataCDWriter.DataCDWriter1.writeSpeed = speed Then
  438.                 speedCombo.AddItem speed
  439.             End If
  440.         Next
  441.     Else
  442.         For speed = frmTestVBDataCDWriter.DataCDWriter1.driveMaxWSpeed To 1 Step -2
  443.             speedCombo.AddItem speed
  444.         Next
  445.     End If
  446.     If speedCombo.ListCount > 0 Then
  447.         speedCombo.ListIndex = 0
  448.     End If
  449.     frmSpeedProgress.ProgressBar1.Value = 1
  450.     frmSpeedProgress.Hide
  451. End Sub
  452. Public Sub LoadSpeedCombo2()
  453.     speedCombo.Clear
  454.     ProgressBar3.Visible = True
  455.     If OptimalSpeedCheck.Value <> 0 Then
  456.         For speed = 64 To 1 Step -1
  457.             frmTestVBDataCDWriter.DataCDWriter1.writeSpeed = speed
  458.             ProgressBar3.Value = 65 - speed
  459.             If frmTestVBDataCDWriter.DataCDWriter1.writeSpeed = speed Then
  460.                 speedCombo.AddItem speed
  461.             End If
  462.         Next
  463.     Else
  464.         For speed = frmTestVBDataCDWriter.DataCDWriter1.driveMaxWSpeed To 1 Step -2
  465.             speedCombo.AddItem speed
  466.         Next
  467.     End If
  468.     If speedCombo.ListCount > 0 Then
  469.         speedCombo.ListIndex = 0
  470.     End If
  471.     ProgressBar3.Value = 1
  472.     ProgressBar3.Visible = False
  473. End Sub
  474. Private Sub speedCombo_Click()
  475.     Dim idx As Integer
  476.     idx = speedCombo.ListIndex
  477.     speed = speedCombo.List(idx)
  478.     frmTestVBDataCDWriter.DataCDWriter1.writeSpeed = speed
  479. End Sub
  480. Private Sub Inactive()
  481.     speedCombo.Enabled = False
  482.     OptimalSpeedCheck.Enabled = False
  483.     WriteBtn.Enabled = False
  484.     optJoliet.Enabled = False
  485.     optISOLevel1.Enabled = False
  486.     optISOLevel2.Enabled = False
  487.     txtDiscLabel.Enabled = False
  488.     TestWriteCheck.Enabled = False
  489.     FinilizeCDCheck.Enabled = False
  490.     optDataMode1.Enabled = False
  491.     optDataMode2.Enabled = False
  492. End Sub
  493. Private Sub Active()
  494.     speedCombo.Enabled = True
  495.     OptimalSpeedCheck.Enabled = True
  496.     WriteBtn.Enabled = True
  497.     optJoliet.Enabled = True
  498.     optISOLevel1.Enabled = True
  499.     optISOLevel2.Enabled = True
  500.     txtDiscLabel.Enabled = True
  501.     TestWriteCheck.Enabled = True
  502.     FinilizeCDCheck.Enabled = True
  503.     optDataMode1.Enabled = True
  504.     optDataMode2.Enabled = True
  505. End Sub
  506.